package utils

import (
	"math/rand"
	"time"
)

// GenerateRandomCode 生成一个新的 rand.Rand 实例，避免使用全局的 rand.Seed
func GenerateRandomCode(length int) string {
	const charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

	// 用当前时间创建新的随机源
	r := rand.New(rand.NewSource(time.Now().UnixNano()))

	code := make([]byte, length)
	for i := range code {
		code[i] = charset[r.Intn(len(charset))]
	}
	return string(code)
}
